package lab02.Test06;

import java.util.Scanner;

public class Triangle {//三角形Triangle类具有类型为double的三个边，
    // 以及周长、面积属性，Triangle类具有返回周长、
// 面积以及修改三个边的功能。另外，Triangle类还具有一个Boolean型的属性，
// 该属性用来判断三个属能否构成一个三角形。
    //思路，属性五个，和一个布尔类型构造一个返回它们的方法
    //属性
    double side1;
    double side2;
    double side3;
    double perimeter;
    double area;
    boolean constitute;

    //返回周长面积，和修改三个边


    public double getSide1() {
        return side1;
    }

    public double getSide2() {
        return side2;
    }

    public double getSide3() {
        return side3;
    }


    public void setSide1(double side1) {
        this.side1 = side1;
    }

    public void setSide2(double side2) {
        this.side2 = side2;
    }

    public void setSide3(double side3) {
        this.side3 = side3;
    }

    //判断能否构成三角形
    public boolean constitute() {
        if (side1 + side2 > side3 && side2 + side3 > side1 && side3 + side1 > side2) {
            return true;
        } else
            return false;
    }

    //返回三角形周长
    public double getPerimeter() {
        perimeter = side1 + side2 + side3;
        return perimeter;
    }

    //返回三角形面积
    public double getArea() {
        double s = (side1 + side2 + side3) / 2;
        return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));
    }


    //修改三角形的三个边
    public void alter() {
        System.out.println("请输入修改的信息：");

        System.out.println("边side1:");
        Scanner sca = new Scanner(System.in);
        this.side1 = sca.nextDouble();

        System.out.println("边side2:");
        Scanner scb = new Scanner(System.in);
        this.side2 = scb.nextDouble();

        System.out.println("边side3:");
        Scanner scc = new Scanner(System.in);
        this.side3 = scc.nextDouble();




    }

    //返回周长与面积
    @Override
    public String toString() {
        // return super.toString();
        return "周长:" + getPerimeter() + "\n面积:" + getArea();
    }
}
